home *** CD-ROM | disk | FTP | other *** search
- asm("
- .data
- TCDraw:
- .long TCDQ,TCD1,TCD2,TCD3,TCD4,TCD5,TCD6,TCD7
- .long TCD8,TCD9,TCD10,TCD11,TCD12,TCD13,TCD14,TCD15
- .long TCD16,TCD17,TCD18,TCD19,TCD20,TCD21,TCD22,TCDCMD
- .long TCD24,TCD25,TCD26,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD
- .long TCD32,TCD33,TCD34,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD
- .long TCD40,TCD41,TCD42,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD
- .long TCD48,TCD49,TCD50,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD
- .long TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD,TCDCMD
-
- .text
-
- moveml d2-d7/a2-a6,sp@-
- movel %2,%1@+
-
- TCDCMD:
- movel #TCDraw,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCD1:
- movel %0@+,a6
- movew %0@+,d0
- movew a6@(%2:l),%1@+
- movew d0,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCD2:
- movel %0@+,a6
- movel %0@+,d0
- movel a6@(%2:l),%1@+
- movel d0,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCD3:
- movel %0@+,a6
- movel %0@+,d0
- movew %0@+,d1
- movel a6@(%2:l),%1@+
- movew a6@(4,%2:l),%1@+
- movel d0,a6@(%2:l)
- movew d1,a6@(4,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCD4:
- movel %0@+,a6
- movel %0@+,d0
- movel %0@+,d1
- movel a6@(%2:l),%1@+
- movel a6@(4,%2:l),%1@+
- movel d0,a6@(%2:l)
- movel d1,a6@(4,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCD5:
- movel %0@+,a6
- movel %0@+,d0
- movel %0@+,d1
- movew %0@+,d2
- movel a6@(%2:l),%1@+
- movel a6@(4,%2:l),%1@+
- movew a6@(8,%2:l),%1@+
- movel d0,a6@(%2:l)
- movel d1,a6@(4,%2:l)
- movew d2,a6@(8,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCD6:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2
- moveml d0-d1/d2,%1@
- addl #12,%1
- moveml %0@+,d0-d1/d2
- moveml d0-d1/d2,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD7:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2
- moveml d0-d1/d2,%1@
- addl #12,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2
- moveml d0-d1/d2,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD8:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3
- moveml d0-d1/d2/d3,%1@
- addl #16,%1
- moveml %0@+,d0-d1/d2/d3
- moveml d0-d1/d2/d3,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD9:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3
- moveml d0-d1/d2/d3,%1@
- addl #16,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3
- moveml d0-d1/d2/d3,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD10:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4
- moveml d0-d1/d2/d3/d4,%1@
- addl #20,%1
- moveml %0@+,d0-d1/d2/d3/d4
- moveml d0-d1/d2/d3/d4,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD11:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3/d4
- moveml d0-d1/d2/d3/d4,%1@
- addl #20,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3/d4
- moveml d0-d1/d2/d3/d4,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD12:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4/d5
- moveml d0-d1/d2/d3/d4/d5,%1@
- addl #24,%1
- moveml %0@+,d0-d1/d2/d3/d4/d5
- moveml d0-d1/d2/d3/d4/d5,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD13:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3/d4/d5
- moveml d0-d1/d2/d3/d4/d5,%1@
- addl #24,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3/d4/d5
- moveml d0-d1/d2/d3/d4/d5,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD14:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4/d5/d6
- moveml d0-d1/d2/d3/d4/d5/d6,%1@
- addl #28,%1
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6
- moveml d0-d1/d2/d3/d4/d5/d6,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD15:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3/d4/d5/d6
- moveml d0-d1/d2/d3/d4/d5/d6,%1@
- addl #28,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6
- moveml d0-d1/d2/d3/d4/d5/d6,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD16:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4/d5/d6/a0
- moveml d0-d1/d2/d3/d4/d5/d6/a0,%1@
- addl #32,%1
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0
- moveml d0-d1/d2/d3/d4/d5/d6/a0,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD17:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3/d4/d5/d6/a0
- moveml d0-d1/d2/d3/d4/d5/d6/a0,%1@
- addl #32,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0
- moveml d0-d1/d2/d3/d4/d5/d6/a0,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD18:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4/d5/d6/a0/a1
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1,%1@
- addl #36,%1
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0/a1
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1,a6@(%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD19:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3/d4/d5/d6/a0/a1
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1,%1@
- addl #36,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0/a1
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1,a6@(2,%2:l)
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD20:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4/d5/d6/a0/a1/a2
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2,%1@
- addl #40,%1
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0/a1/a2
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2,a6@(%2:l)
- movel #TCDraw,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD21:
- movel %0@+,a6
- movew a6@(%2:l),a3
- movew a3,%1@+
- moveml a6@(2,%2:l),d0-d1/d2/d3/d4/d5/d6/a0/a1/a2
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2,%1@
- addl #40,%1
- movew %0@+,a3
- movew a3,a6@(%2:l)
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0/a1/a2
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2,a6@(2,%2:l)
- movel #TCDraw,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD22:
- movel %0@+,a6
- moveml a6@(%2:l),d0-d1/d2/d3/d4/d5/d6/a0/a1/a2/a3
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2/a3,%1@
- addl #44,%1
- moveml %0@+,d0-d1/d2/d3/d4/d5/d6/a0/a1/a2/a3
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2/a3,a6@(%2:l)
- movel #TCDraw,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCD24:
- TCD25:
- TCD26:
- TCD32:
- TCD33:
- TCD34:
- TCD40:
- TCD41:
- TCD42:
- TCD48:
- TCD49:
- TCD50:
- TCDQ:
- moveml sp@+,d2-d7/a2-a6
- " : // No outputs
- : // Inputs
- "a" (Data),
- "a" (Store),
- "d" (At)
- : "d0","d1","d2","d3","d4","d5","d6",
- "a0","a1","a2","a3","a6"
- );
-